package com.zxx.casserver.modules.user.entity;

import com.zxx.cascommon.base.entity.QueryVO;
import com.zxx.casserver.modules.app.entity.AppDO;
import com.zxx.casserver.modules.role.entity.RoleDO;
import java.io.Serializable;
import java.util.List;

/**
 * 用户实体信息-数据库交互使用
 *
 * @author zhoukai
 * @date 2020/6/24 16:59
 */
public class UserVO extends QueryVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 用户主键
     */
    private Long uid;
    /**
     * 所属应用ID
     */
    private Long appId;
    /**
     * 所属平台ID
     */
    private Long platformId;
    /**
     * 所属平台名称
     */
    private String platformName;

    /**
     * 所属组织ID
     */
    private Long orgId;

    /**
     * 所属组织名称
     */
    private String orgName;

    /**
     * 用户名称
     */
    private String name;

    /**
     * 用户头像地址
     */
    private String icon;

    /**
     * 手机号
     */
    private String phone;

    /**
     * 电子邮箱
     */
    private String email;

    /**
     * 登录账户
     */
    private String account;

    /**
     * 登录密码
     */
    private String password;

    /**
     * 确认登录密码
     */
    private String confirmPassword;

    /**
     * 省
     */
    private String province;

    /**
     * 市
     */
    private String city;
    /**
     * 区
     */
    private String area;
    /**
     * 联系地址
     */
    private String address;
    /**
     * 用户昵称
     */
    private String nickName;
    /**
     * 性别： 1男 2女 0未知
     */
    private Integer sex;
    /**
     * 用户类型：1 平台  2业主  3物业
     */
    private Integer type;
    /**
     * 用户生日
     */
    private String birthday;
    /**
     * 身份证信息
     */
    private String idCard;

    /**
     * 表示正常  2表示封禁
     */
    private Integer status;

    /**
     * 创建时间（毫秒级）
     */
    private Long createTime;

    /**
     * 更新时间（毫秒级）
     */
    private Long updateTime;

    /**
     * 用户关联角色
     */
    private List<RoleDO> roleList;

    /**
     * 用户关联系统
     */
    private List<AppDO> appList;

    /**
     * 验证码
     */
    private String verifyCode;

    /**
     * 验证码请求UID
     */
    private String requestId;


    public Long getUid() {
        return uid;
    }

    public void setUid(Long uid) {
        this.uid = uid;
    }

    public Long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Long createTime) {
        this.createTime = createTime;
    }

    public Long getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Long updateTime) {
        this.updateTime = updateTime;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getIcon() {
        return icon;
    }

    public void setIcon(String icon) {
        this.icon = icon;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Long getAppId() {
        return appId;
    }

    public void setAppId(Long appId) {
        this.appId = appId;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public Integer getSex() {
        return sex;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getBirthday() {
        return birthday;
    }

    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }

    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public String getConfirmPassword() {
        return confirmPassword;
    }

    public void setConfirmPassword(String confirmPassword) {
        this.confirmPassword = confirmPassword;
    }

    public Long getPlatformId() {
        return platformId;
    }

    public void setPlatformId(Long platformId) {
        this.platformId = platformId;
    }

    public String getPlatformName() {
        return platformName;
    }

    public void setPlatformName(String platformName) {
        this.platformName = platformName;
    }

    public Long getOrgId() {
        return orgId;
    }

    public void setOrgId(Long orgId) {
        this.orgId = orgId;
    }

    public String getOrgName() {
        return orgName;
    }

    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }

    public List<RoleDO> getRoleList() {
        return roleList;
    }

    public void setRoleList(List<RoleDO> roleList) {
        this.roleList = roleList;
    }

    public List<AppDO> getAppList() {
        return appList;
    }

    public void setAppList(List<AppDO> appList) {
        this.appList = appList;
    }

    public String getVerifyCode() {
        return verifyCode;
    }

    public void setVerifyCode(String verifyCode) {
        this.verifyCode = verifyCode;
    }

    public String getRequestId() {
        return requestId;
    }

    public void setRequestId(String requestId) {
        this.requestId = requestId;
    }

    @Override
    public String toString() {
        return "UserVO{" +
                "uid=" + uid +
                ", appId=" + appId +
                ", platformId=" + platformId +
                ", platformName='" + platformName + '\'' +
                ", orgId=" + orgId +
                ", orgName='" + orgName + '\'' +
                ", name='" + name + '\'' +
                ", icon='" + icon + '\'' +
                ", phone='" + phone + '\'' +
                ", email='" + email + '\'' +
                ", account='" + account + '\'' +
                ", password='" + password + '\'' +
                ", confirmPassword='" + confirmPassword + '\'' +
                ", province='" + province + '\'' +
                ", city='" + city + '\'' +
                ", area='" + area + '\'' +
                ", address='" + address + '\'' +
                ", nickName='" + nickName + '\'' +
                ", sex=" + sex +
                ", type=" + type +
                ", birthday='" + birthday + '\'' +
                ", idCard='" + idCard + '\'' +
                ", status=" + status +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", roleList=" + roleList +
                ", appList=" + appList +
                ", verifyCode='" + verifyCode + '\'' +
                ", requestId='" + requestId + '\'' +
                '}';
    }
}
